草庐IT

javascript - 查找多个元素

全部标签

ruby - 不断查找

场景#1:在下面的示例中,putsPost::User.foo行打印foo。换句话说,Post::User返回一个全局的User常量。classUserdefself.foo"foo"endendclassPostputsPost::User.fooend#=>warning:toplevelconstantUserreferencedbyPost::User#=>foo场景#2:第二个示例会引发错误,因为未找到常量。moduleUserdefself.foo"foo"endendmodulePostputsPost::User.fooend#=>uninitializedconsta

Ruby 方法和多个默认值的排序

我似乎无法做到这一点(我以前可以用Python做到这一点)。让我解释一下..假设我在Ruby中有以下方法:defsomeMethod(arg1=1,arg2=2,arg3=3).........end现在我可以调用这个方法someMethod(2,3,4)someMethod(2,3)someMethod(2)并且参数是按照它们各自的顺序获取的。但是如果我想在我的编程中的某个时刻给出arg2并且想要arg1和arg3的默认值怎么办?我尝试编写someMethod(arg2=4)但这在Ruby1.9中似乎不起作用。它所做的是它仍然认为arg1是4。在python中我至少可以摆脱这个,但在

ruby - 在 Ruby 中使用多个 'gsub' 实例

我正在用Ruby(1.9.3)制作一个基本的翻译器。我从本地测试文件('a.txt')中提取并使用gsub替换某些匹配项以模仿从当代英语到中/早期现代英语的翻译。我遇到了可读性问题:如何使大量的gsub用法更易于阅读?我尝试使用以开头的多行deftranslate@text.gsub(/my/,'mine')@text.gsub(/\sis\s/,'be')end但这只会打印最终的gsub。我只能假设第二个请求会覆盖第一个。我想避免创建大量的gsub请求,但我似乎找不到合适的答案。这是我当前程序的示例:lines=File.readlines('a.txt')@text=lines.j

ruby - 从数组中查找符合条件的前 n 个元素

我想选择一个数组中符合特定条件的前10个元素,而不必遍历整个数组。我知道find给我第一个元素。例如,下面的代码给出了第一个大于100的素数:require'prime'putsPrime.find{|p|p>100}#=>101有没有办法得到前10个大于100的素数? 最佳答案 在Ruby2.0+中你可以这样写:require'prime'Prime.lazy.select{|p|p>100}.take(10).to_a#=>[101,103,107,109,113,127,131,137,139,149]

arrays - 在 Ruby 中,我如何找到一个元素数组的索引?

在Ruby2.4中,如何找到一个数组中某个元素在另一个数组中的最早索引?也就是说,如果一个数组的任何元素出现在另一个数组中,我想获得第一个索引。我认为find_index可能会这样做,但是a=["a","b","c"]#=>["a","b","c"]a.find_index("a")#=>0a.find_index(["b","c"])#=>nil在上面的示例中,我希望看到输出“1”,因为元素“b”出现在数组“a”中的索引1处。 最佳答案 find_index获取单个元素。你可以通过类似的方式找到最小值a=["a","b","c"]

ruby - 如何为哈希键分配多个值?

为了方便起见,我尝试将多个值分配给Ruby中的哈希键。这是到目前为止的代码myhash={:name=>["Tom","Dick","Harry"]}遍历散列得到3个值的串联字符串输出:name:TomDickHarry要求的输出::name=>"Tom",:name=>"Dick",:name=>"Harry"我必须编写什么代码才能获得所需的输出? 最佳答案 myhash.each_pair{|k,v|v.each{|n|puts"#{k}=>#{n}"}}#name=>Tom#name=>Dick#name=>Harry输出格式

Ruby-用另一个数组从一个数组中添加/减去元素

我这样做:a=[1,2,3,4]b=[2,3,4,5]c=b-aputc我明白了答案->[1]我想要这个答案->[1,1,1,1](比如矩阵加法/减法)我试过这个:c.each{|e|c[e]=b[e]-a[e]}但我得到了这个答案:[1,0,0,0]谁能给我一个正确的方法来做到这一点?非常感谢! 最佳答案 你可以使用zip:a.zip(b).map{|x,y|y-x}#=>[1,1,1,1]还有一个Matrix类:require"matrix"a=Matrix[[1,2,3,4]]b=Matrix[[2,3,4,5]]c=b-a#

ruby-on-rails - 检查 Ruby 数组的元素是否包含在另一个数组中

这个问题在这里已经有了答案:Howtodetermineifonearraycontainsallelementsofanotherarray(8个答案)关闭9年前。我正在尝试比较两个Ruby数组以验证第一个数组的所有元素都包含在第二个数组中。(不需要反过来。)例如:a=["hello","goodbye"]b=["hello","goodbye","orange"]这应该返回true。但是,我想不出一种方法可以让我做到这一点。任何帮助将不胜感激!

ruby - 如何在 Ruby 数组的所有元素之间插入一个新元素?

我有一个数组,想在所有元素之间插入一个新元素,类似于join方法。例如,我有[1,[],"333"]我需要的是[1,{},[],{},"333"]请注意,在所有元素之间插入了一个新的空散列。编辑:目前我拥有的是:irb(main):028:0>a=[1,[],"333"]=>[1,[],"333"]irb(main):029:0>a=a.inject([]){|x,y|x[1,{},[],{},"333",{}]irb(main):030:0>a.pop=>{}irb(main):031:0>a=>[1,{},[],{},"333"]irb(main):032:0>我想知道最好的方法。

ruby - 工头启动多个进程?

我在我的Procfile中定义了三个进程。有时,我只想运行其中两个。有相关命令吗?$foremanstartprocess_1process_2ERROR:"foremanstart"wascalledwitharguments["process_1","process_2"]Usage:"foremanstart[PROCESS]" 最佳答案 您可以使用-cor--concurrencyoption并指定您要启动的进程:$foremanstart-cprocess_1=1,process_2=1